/**
 * Socket统一接口输出
 */


 import {setStorage,getStorage} from 'utils/storage'
 import Room from './room'


 const Socket=require('utils/websocket')

 /**
  * 记录本地所有的消息rooms
  * 即打开/拥有的消息列表(所有存在的聊天室列表)
  * 存储结构{roomId:{}}
  *  */
 Socket.rooms={}


 /**
  * 区分聊天场景
  * 即用户当前所在roomId的记录（如不为null）
  * null表示位于列表
  * 用户关闭聊天和打开聊天室均需要更新currentRoom
  *  */
 Socket.currentRoom=null

 /**添加一些统一的Socket属性逻辑 */

 /**
  * 初始化消息列表的聊天室
  * 从缓存读取，注意登出的时候需要同步清除缓存
  *  */
 Socket.initRooms=()=>{
  
    /**读取缓存*/
    Socket.rooms=getStorage('jim_local_rooms')||{}
    Socket.currentRoom=null

 }

 /**
  * 创建新的聊天室(接收到带有新的roomId的消息)
  * 此时需要走http接口去获取room信息
  *  */
 Socket.addRoom=roomId=>{
     //接口获取room信息
    const room=new Room({id:roomId})

    Socket.rooms[roomId]=room
 }

 /**清空room列表 */
 Socket.clearRooms=()=>{
    Socket.rooms={}
    Socket.currentRoom=null
 }

 /**删除某个Room */
 Socket.removeRoom=id=>{
    delete Socket.rooms[id]
 }

 /**
  * 用户打开聊天室
  * room为Room对象
  */
 Socket.comeRoom=room=>{
   Socket.currentRoom=room
 }

 /**
  * 用户关闭聊天室
  * 更新对应currentRoom
  */
Socket.leaveRoom=()=>{
   Socket.currentRoom=null
}


 /**接受消息 */





 module.exports=Socket